La posta elettronica

Uno dei motivi per cui un qualsiasi webmaster dovrebbe passare al PHP è questo: la possibilità, tramite un semplice modulo scritto in HTML, di inviare messaggi di posta elettronica esattamente come facciamo tramite le applicazioni Windows o servizi di provider.
Naturalmente per poter usufruire di questo tipo di servizio del PHP bisogna che voi abbiate a disposizione un indirizzo di posta elettronica e di conoscere l'SMTP del vostro provider di posta elettronica. Quindi conosciuti questi valori andremo a modificare il file php.ini, registrato in C:/WINDOWS o C:/WINNT della nostra macchina, come segue:
Cercate nel file la porzione di codice indicata di seguito

[ mail function ]

SMTP                       =                           ; for win32 only

sendmail_from      =                           ; for win32 only

Assegnate a SMTP il valore del server di posta in uscita del vostro programma di posta elettronica (per esempio, mail.interfree.it nel caso di Interfree) ed assegnate il vostro indirizzo di posta elettronica a sendmail_from, quindi salvate e possiamo cominciare ad impostare il modulo per l'invio della posta elettronica.
Un semplice modulo, compilato in HTML, per la posta elettronica potrebbe consistere di un modulo di tipo testo che contenga il nome di chi ci sta scrivendo, un'altro modulo di tipo testo che contenga il suo indirizzo di posta elettronica ed infine un modulo di tipo area di testo che contenga il messaggio da inviare come da esempio sotto riportato:

<html>
<head>
<title>Modulo prova di feedback</title>
</head>
<body>
<form method="post" action="posta.php">
<p><b>Il tuo nominativo:</b><br>
<input type="text" name="mittente" size="25">
<p><b>La tua e-mail:</b><br>
<input type="text" name="email" size="25">
<p><b>Messaggio:</b><br>
<textarea name="messaggio" cols="30" rows="10" wrap="virtual">
</textarea>
<p><input type="submit" name="invio" value="Invia il messaggio!">
</form>
</body>
</html>

La codifica dà luogo alla seguente figura:

Come si può notare dalla codifica di esempio l'azione del modulo rimanda ad un file PHP che contiene le istruzioni per la manipolazione e l'invio dei dati citati nel modulo. La codifica è la seguente:

<?
if (($mittente == "") || ($email == "") || ($messaggio == ""))
{ header("Location: http://localhost/errore.htm");
exit;
}
$msg = "$messaggio\n\n";

$dest = "mioindirizzo@mioprovider.it";
$oggetto = "Prova invio messaggio.";
$int_mail = "From: $mittente\n";
$int_mail .="Reply to: $email\n\n";

mail($dest, $oggetto, $msg, $int_mail);

?>
<html>
<head>
<title>Invio eseguito!</title>
<body>
<h1>L'E-mail è stata inviata con successo!</h1>
<p><b>Nominativo:</b> <? echo "$mittente"; ?>
<p><b>E-mail:</b> <? echo "$email"; ?>
<p><b>Messaggio:</b><br>
<? echo "$messaggio"; ?>
</body>
</html>

Il file inizia con il controllo dei moduli: se uno o più moduli non sono stati compilati il browser carica una pagina di errore, completamente personalizzabile, in cui si invita l'utente a compilare tutti i campi dei moduli per poter effettuare l'invio della posta elettronica.
Una variabile di nome msg acquisirà il contenuto del modulo del messaggio (l'area di testo, per intenderci), quindi dichiariamo la variabile dest e le diamo come valore l'indirizzo di posta elettronica a cui inviare i dati, un'altra variabile conterrà l'oggetto della nostra mail ed infine l'ultima variabile, denominata int_mail,  conterrà i dati per poter eventualmente rispondere in automatico alla mail appena ricevuta.
Adesso compiliamo i dati del modulo, premiamo il tasto "Invia il messaggio!" e non ci resta che controllare la nostra posta elettronica per verificare il buon esito della prova di invio di un messaggio qualsiasi.